//@author A0087294R
#include "Stdtosys.h"

namespace Stdtosys {
	String^ getUpcomingText(){
		OutputDisplay * const getDisplayPtr = &OutputDisplay::get();
		return convertToSystemString (getDisplayPtr->getUpcomingText());
	}

	String^ convertToSystemString(string toBeConverted){
		String^ systemString = gcnew String(toBeConverted.c_str());
		return systemString;
	}
	
	String^ getStatusText() {
		return convertToSystemString (OutputDisplay::get().getStatus());
	}

	string convertToStdString (String^ toBeConverted) {
		return marshal_as<string>(toBeConverted);
	}

	String^ getInputText() {
		return convertToSystemString(OutputDisplay::get().getInputText());
	}

	bool getClearUpcoming() {
		return OutputDisplay::get().getShouldClearUpComing();
	}

	String^ getPassedActionString () {
		return convertToSystemString (OutputDisplay::get().getAcionListText());
	}

	void sendTabsID (const pos_int Number) {
		Operations::get().setTab (Number);
	}

	String^ getTodayText() {
		return convertToSystemString (OutputDisplay::get().getTodayText());
	}

	String^ getMissedText() {
		return convertToSystemString (OutputDisplay::get().getMissedText());
	}
	
	String^ getPromptText() {
		return convertToSystemString(OutputDisplay::get().getHintText());
	}

	String^ getMsgText() {
		return convertToSystemString (OutputDisplay::get().getDueText());
	}

	bool getNotEmptyQueue() {
		return OutputDisplay::get().availableDue();
	}

	bool getShutdown() {
		return OutputDisplay::get().shouldShutDown();
	}

	String^ getFavouriteText() {
		return convertToSystemString (OutputDisplay::get().getFavouriteText());
	}

	String^ getFloatingText() {
		return convertToSystemString (OutputDisplay::get().getFloatingText());
	}
};